'Imports System.Data.SqlTypes
Partial Public Class FrmAsignarCalificaciones
    Inherits System.Web.UI.Page

    Public Personal As CapaDeNegocios.nPersonal = New CapaDeNegocios.nPersonal
    Public HabilitaOper As CapaDeNegocios.nHabilitacionOperador = New CapaDeNegocios.nHabilitacionOperador
    Public Calificacion As CapaDeNegocios.nTblCalificaciones = New CapaDeNegocios.nTblCalificaciones
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            LimpiarCampos()
            LLenarLegajos()
            LlenarCalificacion()
            GridOperadorCalificaciones.DataSource = HabilitaOper.Listar("", "", "", "", "", "")
            GridOperadorCalificaciones.DataBind()
        End If

    End Sub
    Sub LimpiarCampos()
        LblError.Text = ""
        '        TxtFechaVencimiento.Text = ""
        BDPFechaVencimiento.Enabled = True
        BDPFechaVencimiento.SelectedValue = ""

        BDPFechaVencimiento.MinimumDate = Now.Date.ToShortDateString()
        BDPFechaVencimiento.MaximumDate = (Now.Date.AddDays(365 * 30)).ToShortDateString()


        TxtValoracion.Text = ""
        cboLegajo.Enabled = True
        CboCalificacion.Enabled = True
        'ValidarFechaVencimiento.MinimumValue = Now.Date.ToShortDateString()
        'ValidarFechaVencimiento.MaximumValue = (Now.Date.AddDays(365 * 3)).ToShortDateString()
        CboEstado.SelectedIndex = 1
        GridOperadorCalificaciones.DataSource = HabilitaOper.Listar("", "", "", "", "", "")
        GridOperadorCalificaciones.DataBind()
        GridOperadorCalificaciones.SelectedIndex = -1
    End Sub
    Sub LLenarLegajos()
        cboLegajo.Items.Clear()
        cboLegajo.Items.Add(New ListItem("Ninguno...", -1))
        cboLegajo.DataSource = Personal.ListarNombres(0, "")
        cboLegajo.DataTextField = "NombreApellido"
        cboLegajo.DataValueField = "Legajo"
        cboLegajo.DataBind()
        If cboLegajo.Items.Count > 1 Then
            cboLegajo.SelectedIndex = 1
        End If
    End Sub
    Sub LlenarGridOperadorCalificaciones()
        GridOperadorCalificaciones.DataSource = HabilitaOper.Listar(cboLegajo.SelectedValue.ToString(), CboCalificacion.SelectedValue.ToString(), "", BDPFechaVencimiento.Text, TxtValoracion.Text, CboEstado.SelectedValue)
        GridOperadorCalificaciones.DataBind()
    End Sub
    Sub LlenarCalificacion()
        CboCalificacion.Items.Clear()
        CboCalificacion.Items.Add(New ListItem("Ninguno...", -1))
        CboCalificacion.DataSource = Calificacion.Buscar("", "", "", "", "", "", "")
        CboCalificacion.DataTextField = "Nombre"
        CboCalificacion.DataValueField = "CodigoCalificacion"
        CboCalificacion.DataBind()
        If CboCalificacion.Items.Count > 1 Then
            CboCalificacion.SelectedIndex = 1
        End If


    End Sub

    Protected Sub LinkGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkGuardar.Click
        If cboLegajo.Enabled Then
            If cboLegajo.SelectedValue <> -1 And CboCalificacion.SelectedValue <> -1 And CboEstado.SelectedValue Then
                If Not HabilitaOper.Existe(cboLegajo.SelectedValue.ToString(), CboCalificacion.SelectedValue.ToString()) Then
                    HabilitaOper.Insertar(cboLegajo.SelectedValue.ToString(), CboCalificacion.SelectedValue.ToString(), "", BDPFechaVencimiento.Text, TxtValoracion.Text, CboEstado.SelectedValue.ToString())
                Else
                    LblError.Text = "Error,Calificacion ya asignada al operador."
                End If
            Else
                LblError.Text = "Error,el Operador,estado,calificacion no pueden ser nulos."
            End If
        Else
            HabilitaOper.Modificar(cboLegajo.SelectedValue.ToString(), CboCalificacion.SelectedValue.ToString(), "", BDPFechaVencimiento.Text, TxtValoracion.Text, CboEstado.SelectedValue.ToString())
        End If
        LimpiarCampos()
    End Sub

    Protected Sub GridOperadorCalificaciones_RowCommand(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridOperadorCalificaciones.RowCommand
        If e.CommandName = "Select" Then
            TxtValoracion.Text = e.CommandSource.Parent.Parent.FindControl("LblValoracion").text
            BDPFechaVencimiento.SelectedValue = e.CommandSource.Parent.Parent.FindControl("LblFechaVencimiento").text
            cboLegajo.SelectedValue = e.CommandSource.Parent.Parent.FindControl("HFLegajo").value
            CboCalificacion.SelectedValue = e.CommandSource.Parent.Parent.FindControl("HFCalificacion").value
            CboEstado.SelectedValue = e.CommandSource.Parent.Parent.FindControl("HFEstado").value
            cboLegajo.Enabled = False
            CboCalificacion.Enabled = False
            If BDPFechaVencimiento.Text <> "" Then
                BDPFechaVencimiento.MinimumDate = BDPFechaVencimiento.Text
                '                ValidarFechaVencimiento.MinimumValue = TxtFechaVencimiento.Text
            Else
                'ValidarFechaVencimiento.MinimumValue = Now.Date.ToShortDateString()
                BDPFechaVencimiento.MinimumDate = Now.Date.ToShortDateString()
            End If
            BDPFechaVencimiento.MaximumDate = (Now.Date.AddDays(365 * 3)).ToShortDateString()


        End If
    End Sub

    Protected Sub LinkCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkCancelar.Click
        LimpiarCampos()
    End Sub

    Protected Sub LinkEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkEliminar.Click
        If Not cboLegajo.Enabled Then
            HabilitaOper.Eliminar(cboLegajo.SelectedValue.ToString(), CboCalificacion.SelectedValue.ToString())
            LimpiarCampos()
        End If

    End Sub

    Protected Sub LinkBuscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LinkBuscar.Click
        LlenarGridOperadorCalificaciones()
    End Sub
End Class